<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 正则中的元字符，每一个都可以表示出一种效果
        // \d匹配数字
        console.log(/\d/.test('hello'));
        console.log(/\dd/.test('hello9d0a'));
        // \D匹配任意非数字的字符
        console.log(/\D/.test('hello9d0a'));
        // \w匹配任意的数字、字符、下划线
        console.log(/\w/.test('！&@#'));
         // \W匹配除了数字、字符、下划线的任意当个字符
         console.log(/\W/.test('！&@#'));
          // \s匹配空格
        console.log(/\s/.test('hello world'));//true
        // \S匹配非空格
        console.log(/\S/.test('hello world'));//true
        // .匹配除了换行以外的任意单个字符
        console.log(/./.test('zhangsan'));//true
        //\转义符 在正则表达式中部分符号是有含义的，如果需要使用符号作为内容进行匹配，就需要转义
        console.log(/\./.test('abc'))//false
         // 使用|表示或者的意思【使用这个符号时通常都会和()搭配使用】 
        var str='sanoidaie'
        console.log(/j|s/.test(str));   
        /* 注意()可以实现反向引用  一旦使用()在执行匹配时可以将结果保存起来，后续可以使用\数字使用 */
        console.log(/(\d)\1(\d)\2/.test('2244'));//ture
        console.log(1);
        console.log(/(\d)\1(\d)\2/.test('1234'));//false
        /* []里的内容也是或的关系 */
        //-到-符号需要ASCII码连续
        //[\u4e00-\u9fa5]
        // 任意小写字母
        var reg=/[a-z]/
         // 任意大写字母
        reg=/[A-Z]/
         // 任意字母
        reg=/[A-z]/
        // 检查一个字符串中是否含有abc或adc或aec
        reg=/a[bde]c/
        // ^ 除了
        reg=/^ab/
    </script>
</body>
</html>